home *** CD-ROM | disk | FTP | other *** search
/ Aminet 30 / Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso / Aminet / dev / lang / SmallEiffel.lha / SmallEiffel / bin_c / short35.c < prev    next >
C/C++ Source or Header  |  1998-12-22  |  19KB  |  733 lines

  1. /*
  2. -- ANSI C code generated by :
  3. -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.79)      --
  4. -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
  5. -- Dominique COLNET and Suzanne COLLIN -    colnet@loria.fr     --
  6. --                 http://www.loria.fr/SmallEiffel              --
  7. */
  8. #include "short.h"
  9.  
  10.  
  11. T0* r30format_directory(T30* C,T0* a1){
  12. T0* R=NULL;
  13. {T7*n=malloc(sizeof(*n));
  14. *n=M7;
  15. r7make(n,(((T7*)((C)->_sys_directory/*4*/))->_count/*4*/)+(10));
  16. R=(T0*)n;
  17. }
  18. r7copy(((T7*)R),(C)->_sys_directory/*4*/);
  19. r30parent_directory(C,R);
  20. r30add_directory(C,R,((T0*)ms30_2875));
  21. r30add_directory(C,R,a1);
  22. return R;
  23. }
  24.  
  25.  
  26. void r30loading_path_add(T30* C,T0* a1,T0* a2,T2 a3){
  27. T0* _line=NULL;
  28. T0* _file=NULL;
  29. /*[IF*/
  30. if(((a3)>(5))||((r34count(((T34*)a1)))>(1024))){
  31. r35w_put_string(((T0*)ms30_83580));
  32. {T7*n=malloc(sizeof(*n));
  33. *n=M7;
  34. r7make(n,1024);
  35. _line=(T0*)n;
  36. }
  37. r30append_lp_in(C,_line,a1);
  38. r35w_put_string(_line);
  39. exit(1);
  40. }
  41. /*FI]*/
  42. {T31*n=malloc(sizeof(*n));
  43. *n=M31;
  44. /*[IRF3.1make*//*]*/
  45. _file=(T0*)n;
  46. }
  47. r35sfr_connect((T35*)(oBC11echo),_file,a2);
  48. /*[IF*/
  49. if(/*(IRF4.7is_connected*/((((T31*)_file))->_path/*4*/)!=(NULL)/*)*/){
  50. r35put_string((T35*)(oBC11echo),((T0*)ms30_25809));
  51. r35put_string((T35*)(oBC11echo),a2);
  52. r35put_string((T35*)(oBC11echo),((T0*)ms30_10070));
  53. while (!(r31end_of_input(((T31*)_file)))) {
  54. r31read_line(((T31*)_file));
  55. _line=r7twin((T7*)(oBC32last_string));
  56. /*[IF*/
  57. if(r7has_suffix(((T7*)_line),((T0*)ms30_18194))){
  58. r30loading_path_add(C,a1,_line,(a3)+(1));
  59. }
  60.  else if(!(/*(IRF4.7empty*/((((T7*)_line))->_count/*4*/)==(0)/*)*/)){
  61. r34add_last(((T34*)a1),_line);
  62. }
  63. /*FI]*/
  64. }
  65. r31disconnect(((T31*)_file));
  66. }
  67. /*FI]*/
  68. }
  69. /*No:SYSTEM_TOOLS.system_name*/
  70.  
  71.  
  72. void r30parent_directory(T30* C,T0* a1){
  73. /*[IF*/
  74. if(r30slash_separator(C)){
  75. r7remove_last(((T7*)a1),1);
  76. while (!((r7last(((T7*)a1)))==('\57'))) {
  77. r7remove_last(((T7*)a1),1);
  78. }
  79. }
  80.  else if(r30backslash_separator(C)){
  81. r7remove_last(((T7*)a1),1);
  82. while (!((r7last(((T7*)a1)))==('\134'))) {
  83. r7remove_last(((T7*)a1),1);
  84. }
  85. }
  86.  else if(r30colon_separator(C)){
  87. r7remove_last(((T7*)a1),1);
  88. while (!((r7last(((T7*)a1)))==('\72'))) {
  89. r7remove_last(((T7*)a1),1);
  90. }
  91. }
  92.  else if((((T0*)ms30_756))==((void*)((C)->_system_name/*0*/))){
  93. r7remove_last(((T7*)a1),1);
  94. while (!((r7last(((T7*)a1)))==('\56'))) {
  95. r7remove_last(((T7*)a1),1);
  96. }
  97. r7remove_last(((T7*)a1),1);
  98. r7extend(((T7*)a1),'\135');
  99. }
  100. /*FI]*/
  101. }
  102. /*No:SYSTEM_TOOLS.windows_system*/
  103. /*No:SYSTEM_TOOLS.help_suffix*/
  104. /*No:SYSTEM_TOOLS.fz_03*/
  105. /*No:SYSTEM_TOOLS.vms_system*/
  106. /*No:SYSTEM_TOOLS.fz_se*/
  107. /*No:SYSTEM_TOOLS.beos_system*/
  108.  
  109.  
  110. T0* r30get_environment_variable(T30* C,T0* a1){
  111. T0* R=NULL;
  112. T8 _p=0;
  113. _p=r7to_external(((T7*)a1));
  114. R=(NULL==(_p=getenv((char*)_p)))?NULL:((T0*)e2s((char*)_p));
  115. return R;
  116. }
  117. /*No:SYSTEM_TOOLS.fz_sys*/
  118. /*No:SYSTEM_TOOLS.fz_system_se*/
  119. /*No:SYSTEM_TOOLS.fz_bin*/
  120. /*No:SYSTEM_TOOLS.fz_loadpath_se*/
  121. /*No:SYSTEM_TOOLS.dos_system*/
  122. /*No:SYSTEM_TOOLS.sys_directory*/
  123. /*No:SYSTEM_TOOLS.fz_b0*/
  124. T0*oBC30system_list=NULL;
  125.  
  126.  
  127. void r30read_loading_path_in(T30* C,T0* a1){
  128. r30loading_path_add(C,a1,((T0*)ms30_18194),1);
  129. r7copy((T7*)(((T0*)ms11_583550)),(C)->_sys_directory/*4*/);
  130. r7append((T7*)(((T0*)ms11_583550)),((T0*)ms30_8613));
  131. r7append((T7*)(((T0*)ms11_583550)),(C)->_system_name/*0*/);
  132. r30loading_path_add(C,a1,((T0*)ms11_583550),1);
  133. }
  134.  
  135.  
  136. void r30bad_use_exit(T30* C,T0* a1){
  137. r35w_put_string(((T0*)ms30_46940));
  138. r35w_put_string(a1);
  139. r35w_put_string(((T0*)ms30_303));
  140. r7copy((T7*)(((T0*)ms11_583550)),(C)->_sys_directory/*4*/);
  141. r30parent_directory(C,((T0*)ms11_583550));
  142. r30add_directory(C,((T0*)ms11_583550),((T0*)ms30_966));
  143. r7append((T7*)(((T0*)ms11_583550)),a1);
  144. r7append((T7*)(((T0*)ms11_583550)),((T0*)ms11_1632));
  145. r35w_put_string(((T0*)ms30_39440));
  146. r35w_put_string(((T0*)ms11_583550));
  147. r35w_put_character('\n');
  148. exit(1);
  149. }
  150. /*No:SYSTEM_TOOLS.amiga_system*/
  151.  
  152.  
  153. void r30append_lp_in(T30* C,T0* a1,T0* a2){
  154. T0* _sed=NULL;
  155. T2 _i=0;
  156. r7append(((T7*)a1),((T0*)ms30_12180));
  157. _i=(((T34*)a2))->_lower/*12*/;
  158. while (!((_i)>((((T34*)a2))->_upper/*8*/))) {
  159. r7extend(((T7*)a1),'\40');
  160. r7extend(((T7*)a1),'\42');
  161. r7append(((T7*)a1),r34item(((T34*)a2),_i));
  162. r7extend(((T7*)a1),'\42');
  163. r7extend(((T7*)a1),'\n');
  164. _i=(_i)+(1);
  165. }
  166. r7append(((T7*)a1),((T0*)ms30_33825));
  167. _sed=r30get_environment_variable(C,((T0*)ms12_18788));
  168. /*[IF*/
  169. if((_sed)==((void*)(NULL))){
  170. r7append(((T7*)a1),((T0*)ms30_5301));
  171. }
  172. else{
  173. r7append(((T7*)a1),((T0*)ms30_138));
  174. r7append(((T7*)a1),_sed);
  175. r7append(((T7*)a1),((T0*)ms30_288));
  176. }
  177. /*FI]*/
  178. }
  179.  
  180.  
  181. void r30add_directory(T30* C,T0* a1,T0* a2){
  182. /*[IF*/
  183. if(r30slash_separator(C)){
  184. r7set_last(((T7*)a1),'\57');
  185. r7append(((T7*)a1),a2);
  186. r7set_last(((T7*)a1),'\57');
  187. }
  188.  else if(r30backslash_separator(C)){
  189. r7set_last(((T7*)a1),'\134');
  190. r7append(((T7*)a1),a2);
  191. r7set_last(((T7*)a1),'\134');
  192. }
  193.  else if(r30colon_separator(C)){
  194. r7set_last(((T7*)a1),'\72');
  195. r7append(((T7*)a1),a2);
  196. r7set_last(((T7*)a1),'\72');
  197. }
  198.  else if((((T0*)ms30_756))==((void*)((C)->_system_name/*0*/))){
  199. r7set_last(((T7*)a1),'\135');
  200. r7remove_last(((T7*)a1),1);
  201. r7set_last(((T7*)a1),'\56');
  202. r7append(((T7*)a1),a2);
  203. r7set_last(((T7*)a1),'\135');
  204. }
  205. /*FI]*/
  206. }
  207.  
  208.  
  209. void r30make(T30* C){
  210. T2 _i=0;
  211. T0* _system_se_path=NULL;
  212. _system_se_path=r30get_environment_variable(C,((T0*)ms12_18788));
  213. /*[IF*/
  214. if((_system_se_path)==((void*)(NULL))){
  215. _system_se_path=r7twin((T7*)(((T0*)ms12_18788)));
  216. r7to_upper(((T7*)_system_se_path));
  217. _system_se_path=r30get_environment_variable(C,_system_se_path);
  218. /*[IF*/
  219. if((_system_se_path)==((void*)(NULL))){
  220. r35put_string((T35*)(oBC11echo),((T0*)ms30_226958));
  221. _system_se_path=((T0*)ms30_132226);
  222. r35put_string((T35*)(oBC11echo),_system_se_path);
  223. r35put_string((T35*)(oBC11echo),((T0*)ms12_166));
  224. }
  225. /*FI]*/
  226. }
  227. /*FI]*/
  228. /*[IF*/
  229. if(r7has_suffix(((T7*)_system_se_path),((T0*)ms12_13428))){
  230. r35sfr_connect((T35*)(oBC11echo),oBC11tmp_file_read,_system_se_path);
  231. }
  232. else{
  233. r35put_string((T35*)(oBC11echo),((T0*)ms30_852461));
  234. /*[IF*/
  235. if(r7has(((T7*)_system_se_path),'\57')){
  236. r35put_string((T35*)(oBC11echo),((T0*)ms30_26690));
  237. r7copy((T7*)(((T0*)ms11_583550)),_system_se_path);
  238. r7set_last((T7*)(((T0*)ms11_583550)),'\57');
  239. r7append((T7*)(((T0*)ms11_583550)),((T0*)ms12_1071));
  240. r7extend((T7*)(((T0*)ms11_583550)),'\57');
  241. r7append((T7*)(((T0*)ms11_583550)),((T0*)ms12_13428));
  242. r35sfr_connect((T35*)(oBC11echo),oBC11tmp_file_read,((T0*)ms11_583550));
  243. }
  244. /*FI]*/
  245. /*[IF*/
  246. if(!(/*(IRF4.7is_connected*/(((T31*)(oBC11tmp_file_read))->_path/*4*/)!=(NULL)/*)*/)){
  247. /*[IF*/
  248. if(r7has(((T7*)_system_se_path),'\134')){
  249. r35put_string((T35*)(oBC11echo),((T0*)ms30_38940));
  250. r7copy((T7*)(((T0*)ms11_583550)),_system_se_path);
  251. r7set_last((T7*)(((T0*)ms11_583550)),'\134');
  252. r7append((T7*)(((T0*)ms11_583550)),((T0*)ms12_1071));
  253. r7extend((T7*)(((T0*)ms11_583550)),'\134');
  254. r7append((T7*)(((T0*)ms11_583550)),((T0*)ms12_13428));
  255. r35sfr_connect((T35*)(oBC11echo),oBC11tmp_file_read,((T0*)ms11_583550));
  256. }
  257. /*FI]*/
  258. }
  259. /*FI]*/
  260. /*[IF*/
  261. if(!(/*(IRF4.7is_connected*/(((T31*)(oBC11tmp_file_read))->_path/*4*/)!=(NULL)/*)*/)){
  262. /*[IF*/
  263. if(r7has(((T7*)_system_se_path),'\72')){
  264. r35put_string((T35*)(oBC11echo),((T0*)ms30_32565));
  265. r7copy((T7*)(((T0*)ms11_583550)),_system_se_path);
  266. r7set_last((T7*)(((T0*)ms11_583550)),'\72');
  267. r7append((T7*)(((T0*)ms11_583550)),((T0*)ms12_1071));
  268. r7extend((T7*)(((T0*)ms11_583550)),'\72');
  269. r7append((T7*)(((T0*)ms11_583550)),((T0*)ms12_13428));
  270. r35sfr_connect((T35*)(oBC11echo),oBC11tmp_file_read,((T0*)ms11_583550));
  271. }
  272. /*FI]*/
  273. }
  274. /*FI]*/
  275. /*[IF*/
  276. if(!(/*(IRF4.7is_connected*/(((T31*)(oBC11tmp_file_read))->_path/*4*/)!=(NULL)/*)*/)){
  277. /*[IF*/
  278. if(r7has(((T7*)_system_se_path),'\135')){
  279. r35put_string((T35*)(oBC11echo),((T0*)ms30_20300));
  280. r7copy((T7*)(((T0*)ms11_583550)),_system_se_path);
  281. r7set_last((T7*)(((T0*)ms11_583550)),'\135');
  282. r7remove_last((T7*)(((T0*)ms11_583550)),1);
  283. r7extend((T7*)(((T0*)ms11_583550)),'\56');
  284. r7append((T7*)(((T0*)ms11_583550)),((T0*)ms12_1071));
  285. r7extend((T7*)(((T0*)ms11_583550)),'\135');
  286. r7append((T7*)(((T0*)ms11_583550)),((T0*)ms12_13428));
  287. r35sfr_connect((T35*)(oBC11echo),oBC11tmp_file_read,((T0*)ms11_583550));
  288. }
  289. /*FI]*/
  290. }
  291. /*FI]*/
  292. /*[IF*/
  293. if(!(/*(IRF4.7is_connected*/(((T31*)(oBC11tmp_file_read))->_path/*4*/)!=(NULL)/*)*/)){
  294. r35put_string((T35*)(oBC11echo),((T0*)ms30_8302));
  295. r7copy((T7*)(((T0*)ms11_583550)),_system_se_path);
  296. r7append((T7*)(((T0*)ms11_583550)),((T0*)ms12_13428));
  297. r35sfr_connect((T35*)(oBC11echo),oBC11tmp_file_read,((T0*)ms11_583550));
  298. }
  299. /*FI]*/
  300. }
  301. /*FI]*/
  302. /*[IF*/
  303. if(!(/*(IRF4.7is_connected*/(((T31*)(oBC11tmp_file_read))->_path/*4*/)!=(NULL)/*)*/)){
  304. r35w_put_string(((T0*)ms30_720532));
  305. exit(1);
  306. }
  307. /*FI]*/
  308. r31read_line((T31*)(oBC11tmp_file_read));
  309. C->_system_name=oBC32last_string;
  310. _i=r34index_of((T34*)(oBC30system_list),(C)->_system_name/*0*/);
  311. /*[IF*/
  312. if((_i)>(((T34*)(oBC30system_list))->_upper/*8*/)){
  313. r35w_put_string(((T0*)ms30_44196));
  314. r35w_put_string(((T31*)(oBC11tmp_file_read))->_path/*4*/);
  315. r35w_put_string(((T0*)ms30_23364));
  316. _i=1;
  317. while (!((_i)>(((T34*)(oBC30system_list))->_upper/*8*/))) {
  318. r35w_put_string(r34item((T34*)(oBC30system_list),_i));
  319. r35w_put_character('\n');
  320. _i=(_i)+(1);
  321. }
  322. exit(1);
  323. }
  324. else{
  325. C->_system_name=r34item((T34*)(oBC30system_list),_i);
  326. r35put_string((T35*)(oBC11echo),((T0*)ms30_10175));
  327. r35put_string((T35*)(oBC11echo),(C)->_system_name/*0*/);
  328. r35put_string((T35*)(oBC11echo),((T0*)ms12_288));
  329. }
  330. /*FI]*/
  331. C->_sys_directory=r7twin((T7*)(((T31*)(oBC11tmp_file_read))->_path/*4*/));
  332. /*[IRF3.6remove_suffix*/{T7* C1=(T7*)((C)->_sys_directory/*4*/);
  333. T0* b1=((T0*)ms12_13428);
  334. r7remove_last(C1,(((T7*)b1))->_count/*4*/);
  335. }/*]*/
  336. r31disconnect((T31*)(oBC11tmp_file_read));
  337. C->_bin_directory=r7twin((T7*)((C)->_sys_directory/*4*/));
  338. r30parent_directory(C,(C)->_bin_directory/*8*/);
  339. r30add_directory(C,(C)->_bin_directory/*8*/,((T0*)ms12_957));
  340. }
  341. /*No:SYSTEM_TOOLS.os2_system*/
  342.  
  343.  
  344. T6 r30colon_separator(T30* C){
  345. T6 R=0;
  346. /*[IF*/
  347. if((((T0*)ms30_12951))==((void*)((C)->_system_name/*0*/))){
  348. R=1;
  349. }
  350.  else if((((T0*)ms30_1356))==((void*)((C)->_system_name/*0*/))){
  351. R=1;
  352. }
  353. /*FI]*/
  354. return R;
  355. }
  356.  
  357.  
  358. T6 r30slash_separator(T30* C){
  359. T6 R=0;
  360. /*[IF*/
  361. if((((T0*)ms30_1336))==((void*)((C)->_system_name/*0*/))){
  362. R=1;
  363. }
  364.  else if((((T0*)ms30_2470))==((void*)((C)->_system_name/*0*/))){
  365. R=1;
  366. }
  367. /*FI]*/
  368. return R;
  369. }
  370.  
  371.  
  372. T6 r30backslash_separator(T30* C){
  373. T6 R=0;
  374. /*[IF*/
  375. if((((T0*)ms30_9331))==((void*)((C)->_system_name/*0*/))){
  376. R=1;
  377. }
  378.  else if((((T0*)ms30_708))==((void*)((C)->_system_name/*0*/))){
  379. R=1;
  380. }
  381.  else if((((T0*)ms30_654))==((void*)((C)->_system_name/*0*/))){
  382. R=1;
  383. }
  384. /*FI]*/
  385. return R;
  386. }
  387. /*No:SYSTEM_TOOLS.unix_system*/
  388. /*No:SYSTEM_TOOLS.exit_failure_code*/
  389. /*No:SYSTEM_TOOLS.macintosh_system*/
  390. /*No:SYSTEM_TOOLS.bin_directory*/
  391. /*No:SYSTEM_TOOLS.tmp_path*/
  392.  
  393.  
  394. T0* r69base_class(T69* C){
  395. T0* R=NULL;
  396. /*[IF*/
  397. if(((T66*)(oBC11eiffel_parser))->_is_running/*8*/){
  398. /*[IF*/
  399. if(/*(IRF4.7empty*/(((T7*)(((T47*)((C)->_base_class_name/*0*/))->_to_string/*0*/))->_count/*4*/)==(0)/*)*/){
  400. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms69_57270);
  401. r67fatal_error((T67*)(oBC11eh),b1);
  402. }/*]*/
  403. }
  404.  else if(r59is_used(((T47*)((C)->_base_class_name/*0*/))->_to_string/*0*/)){
  405. R=r47base_class((T47*)((C)->_base_class_name/*0*/));
  406. }
  407. else{
  408. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms69_57270a);
  409. r67fatal_error((T67*)(oBC11eh),b1);
  410. }/*]*/
  411. }
  412. /*FI]*/
  413. }
  414. else{
  415. R=r47base_class((T47*)((C)->_base_class_name/*0*/));
  416. }
  417. /*FI]*/
  418. return R;
  419. }
  420. /*No:POSITION.line*/
  421. /*No:POSITION.base_class_name*/
  422.  
  423.  
  424. void r69show(T69* C){
  425. T0* _the_line=NULL;
  426. T0* _str=NULL;
  427. T0* _n=NULL;
  428. T2 _nb=0;
  429. T2 _c=0;
  430. _n=((T47*)((C)->_base_class_name/*0*/))->_to_string/*0*/;
  431. r36put_string((T36*)(oBC1std_error),((T0*)ms69_2195));
  432. r36put_integer((T36*)(oBC1std_error),/*(IRF4.6line*/((C)->_mem_line_column/*4*/)/(1000)/*)*/);
  433. r36put_string((T36*)(oBC1std_error),((T0*)ms69_5904));
  434. r36put_integer((T36*)(oBC1std_error),/*(IRF4.6column*/((C)->_mem_line_column/*4*/)%(1000)/*)*/);
  435. r36put_string((T36*)(oBC1std_error),((T0*)ms69_1156));
  436. r36put_string((T36*)(oBC1std_error),_n);
  437. _str=r69path(C);
  438. /*[IF*/
  439. if((_str)!=((void*)(NULL))){
  440. r36put_string((T36*)(oBC1std_error),((T0*)ms69_150));
  441. r36put_string((T36*)(oBC1std_error),_str);
  442. /*[IRF3.6put_character*/{T36* C1=(T36*)(oBC1std_error);
  443. T3 b1='\51';
  444. putc(b1,((FILE*)(stderr)));
  445. }/*]*/
  446. }
  447. /*FI]*/
  448. r36put_string((T36*)(oBC1std_error),((T0*)ms69_318));
  449. _the_line=r69get_line(C);
  450. /*[IF*/
  451. if((_the_line)!=((void*)(NULL))){
  452. _c=/*(IRF4.6column*/((C)->_mem_line_column/*4*/)%(1000)/*)*/;
  453. r36put_string((T36*)(oBC1std_error),_the_line);
  454. /*[IRF3.4put_new_line*//*[IRF3.6put_character*/{T36* C1=(T36*)(oBC1std_error);
  455. T3 b1='\n';
  456. putc(b1,((FILE*)(stderr)));
  457. }/*]*/
  458. /*]*/
  459. _nb=1;
  460. while (!((_nb)==(_c))) {
  461. /*[IF*/
  462. if((/*(IRF4.6item*/((((T7*)_the_line))->_storage/*0*/)[(_nb)-(1)]/*)*/)==('\11')){
  463. /*[IRF3.6put_character*/{T36* C1=(T36*)(oBC1std_error);
  464. T3 b1='\11';
  465. putc(b1,((FILE*)(stderr)));
  466. }/*]*/
  467. }
  468. else{
  469. /*[IRF3.6put_character*/{T36* C1=(T36*)(oBC1std_error);
  470. T3 b1='\40';
  471. putc(b1,((FILE*)(stderr)));
  472. }/*]*/
  473. }
  474. /*FI]*/
  475. _nb=(_nb)+(1);
  476. }
  477. r36put_string((T36*)(oBC1std_error),((T0*)ms69_214));
  478. }
  479. else{
  480. r36put_string((T36*)(oBC1std_error),((T0*)ms69_63048));
  481. r36put_string((T36*)(oBC1std_error),_n);
  482. r36put_string((T36*)(oBC1std_error),((T0*)ms69_11));
  483. }
  484. /*FI]*/
  485. }
  486.  
  487.  
  488. T0* r69get_line(T69* C){
  489. T0* R=NULL;
  490. T2 _i=0;
  491. T0* _p=NULL;
  492. _p=r69path(C);
  493. /*[IF*/
  494. if((_p)!=((void*)(NULL))){
  495. r31connect_to((T31*)(oBC11tmp_file_read),_p);
  496. while (!((_i)==(/*(IRF4.6line*/((C)->_mem_line_column/*4*/)/(1000)/*)*/))) {
  497. r31read_line((T31*)(oBC11tmp_file_read));
  498. _i=(_i)+(1);
  499. }
  500. R=oBC32last_string;
  501. r31disconnect((T31*)(oBC11tmp_file_read));
  502. }
  503. /*FI]*/
  504. return R;
  505. }
  506. /*No:POSITION.column*/
  507.  
  508.  
  509. T0* r69path(T69* C){
  510. T0* R=NULL;
  511. T0* _bc=NULL;
  512. T0* _bcn=NULL;
  513. _bcn=((T47*)((C)->_base_class_name/*0*/))->_to_string/*0*/;
  514. /*[IF*/
  515. if((_bcn)!=((void*)(NULL))){
  516. /*[IF*/
  517. if(r59is_used(_bcn)){
  518. _bc=r47base_class((T47*)((C)->_base_class_name/*0*/));
  519. }
  520.  else if(((T66*)(oBC11eiffel_parser))->_is_running/*8*/){
  521. /*[IF*/
  522. if((((T47*)(/*(IRF4.6current_class_name*/(((T22*)(((T66*)(oBC11eiffel_parser))->_last_base_class/*65*/)))->_name/*24*//*)*/))->_to_string/*0*/)==((void*)(_bcn))){
  523. _bc=/*(IRF4.3current_class*/((T66*)(oBC11eiffel_parser))->_last_base_class/*65*//*)*/;
  524. }
  525. /*FI]*/
  526. }
  527. else{
  528. _bc=r47base_class((T47*)((C)->_base_class_name/*0*/));
  529. }
  530. /*FI]*/
  531. /*[IF*/
  532. if((_bc)!=((void*)(NULL))){
  533. R=(((T22*)_bc))->_path/*4*/;
  534. }
  535. /*FI]*/
  536. }
  537. /*FI]*/
  538. return R;
  539. }
  540.  
  541.  
  542. T6 r69is_equal(T69* C,T0* a1){
  543. T6 R=0;
  544. R=(((((/*(IRF4.6line*/((C)->_mem_line_column/*4*/)/(1000)/*)*/)==(/*(IRF4.6line*/((((T69*)a1))->_mem_line_column/*4*/)/(1000)/*)*/))&&((/*(IRF4.6column*/((C)->_mem_line_column/*4*/)%(1000)/*)*/)==(/*(IRF4.6column*/((((T69*)a1))->_mem_line_column/*4*/)%(1000)/*)*/)))&&(((C)->_base_class_name/*0*/)!=((void*)(NULL))))&&(((((T69*)a1))->_base_class_name/*0*/)!=((void*)(NULL))))&&((((T47*)((C)->_base_class_name/*0*/))->_to_string/*0*/)==((void*)(((T47*)((((T69*)a1))->_base_class_name/*0*/))->_to_string/*0*/)));
  545. return R;
  546. }
  547.  
  548.  
  549. void r69make(T69* C,T2 a1,T2 a2){
  550. C->_mem_line_column=((a1)*(1000))+(a2);
  551. C->_base_class_name=/*(IRF4.6current_class_name*/(((T22*)(((T66*)(oBC11eiffel_parser))->_last_base_class/*65*/)))->_name/*24*//*)*/;
  552. }
  553. /*No:POSITION.mem_line_column*/
  554.  
  555.  
  556. void r69set_line_column(T69* C,T2 a1,T2 a2){
  557. C->_mem_line_column=((a1)*(1000))+(a2);
  558. }
  559.  
  560.  
  561. void r69with(T69* C,T2 a1,T2 a2,T0* a3){
  562. C->_mem_line_column=((a1)*(1000))+(a2);
  563. C->_base_class_name=a3;
  564. }
  565. /*No:POSITION.fatal_error*/
  566. /*No:RUN_FEATURE_9.use_current_state*/
  567. /*No:RUN_FEATURE_9.actuals_clients*/
  568. /*No:RUN_FEATURE_9.arguments*/
  569.  
  570.  
  571. void r330initialize(T330* C){
  572. C->_result_type=X270result_type((C)->_base_feature/*32*/);
  573. C->_arguments=/*X270arguments*/((T0*)((T273*)((C)->_base_feature/*32*/))->_arguments/*20*/);
  574. /*[IF*/
  575. if(((C)->_result_type/*40*/)!=((void*)(NULL))){
  576. /*[IF*/
  577. if(X46is_like_argument((C)->_result_type/*40*/)){
  578. /*[IF*/
  579. if(!(r175is_runnable((T175*)((C)->_arguments/*36*/),(C)->_current_type/*4*/))){
  580. {T175*n=malloc(sizeof(*n));
  581. *n=M175;
  582. r175with(n,(C)->_arguments/*36*/,(C)->_current_type/*4*/);
  583. C->_arguments=(T0*)n;
  584. }
  585. }
  586. /*FI]*/
  587. C->_result_type=X46to_runnable((C)->_result_type/*40*/,(C)->_current_type/*4*/);
  588. }
  589. else{
  590. C->_result_type=X46to_runnable((C)->_result_type/*40*/,(C)->_current_type/*4*/);
  591. /*[IF*/
  592. if(((C)->_arguments/*36*/)!=((void*)(NULL))){
  593. /*[IF*/
  594. if(!(r175is_runnable((T175*)((C)->_arguments/*36*/),(C)->_current_type/*4*/))){
  595. {T175*n=malloc(sizeof(*n));
  596. *n=M175;
  597. r175with(n,(C)->_arguments/*36*/,(C)->_current_type/*4*/);
  598. C->_arguments=(T0*)n;
  599. }
  600. }
  601. /*FI]*/
  602. }
  603. /*FI]*/
  604. }
  605. /*FI]*/
  606. }
  607.  else if(((C)->_arguments/*36*/)!=((void*)(NULL))){
  608. /*[IF*/
  609. if(!(r175is_runnable((T175*)((C)->_arguments/*36*/),(C)->_current_type/*4*/))){
  610. {T175*n=malloc(sizeof(*n));
  611. *n=M175;
  612. r175with(n,(C)->_arguments/*36*/,(C)->_current_type/*4*/);
  613. C->_arguments=(T0*)n;
  614. }
  615. }
  616. /*FI]*/
  617. }
  618. /*FI]*/
  619. /*[IF*/
  620. if(((T59*)(oBC11small_eiffel))->_short_flag/*0*/){
  621. C->_require_assertion=X270run_require((C)->_base_feature/*32*/,(T0*)C);
  622. C->_ensure_assertion=X270run_ensure((C)->_base_feature/*32*/,(T0*)C);
  623. }
  624. /*FI]*/
  625. }
  626.  
  627.  
  628. T0* r330start_position(T330* C){
  629. T0* R=NULL;
  630. R=X270start_position((C)->_base_feature/*32*/);
  631. return R;
  632. }
  633. /*No:RUN_FEATURE_9.require_assertion*/
  634. /*No:RUN_FEATURE_9.clients_memory*/
  635. /*No:RUN_FEATURE_9.ucs_not_computed*/
  636. /*No:RUN_FEATURE_9.current_type*/
  637.  
  638.  
  639. void r330add_client(T330* C,T0* a1){
  640. T2 _i=0;
  641. /*[IF*/
  642. if(((C)->_actuals_clients/*12*/)==((void*)(NULL))){
  643. {T321*n=malloc(sizeof(*n));
  644. *n=M321;
  645. r321with_capacity(n,4);
  646. C->_actuals_clients=(T0*)n;
  647. }
  648. r321add_last((T321*)((C)->_actuals_clients/*12*/),a1);
  649. }
  650. else{
  651. _i=r321fast_index_of((T321*)((C)->_actuals_clients/*12*/),a1);
  652. /*[IF*/
  653. if((_i)>(((T321*)((C)->_actuals_clients/*12*/))->_upper/*8*/)){
  654. r321add_last((T321*)((C)->_actuals_clients/*12*/),a1);
  655. }
  656. /*FI]*/
  657. }
  658. /*FI]*/
  659. r310add_client((T310*)(r330run_class(C)),a1);
  660. }
  661.  
  662.  
  663. T0* r330run_class(T330* C){
  664. T0* R=NULL;
  665. R=X46run_class((C)->_current_type/*4*/);
  666. return R;
  667. }
  668. /*No:RUN_FEATURE_9.result_type*/
  669. /*No:RUN_FEATURE_9.base_feature*/
  670. /*No:RUN_FEATURE_9.ensure_assertion*/
  671.  
  672.  
  673. void r330make(T330* C,T0* a1,T0* a2,T0* a3){
  674. C->_current_type=a1;
  675. C->_name=a2;
  676. C->_base_feature=a3;
  677. /*[IRF3.5add_rf*/r317put(((T317*)(((T310*)(r330run_class(C)))->_feature_dictionary/*24*/)),(T0*)C,X77to_key(a2));
  678. /*]*/
  679. r59incr_magic_count((T59*)(oBC11small_eiffel));
  680. C->_use_current_state=15;
  681. r59push((T59*)(oBC11small_eiffel),(T0*)C);
  682. r330initialize(C);
  683. r59pop((T59*)(oBC11small_eiffel));
  684. }
  685. /*No:RUN_FEATURE_9.name*/
  686. /*No:RUN_FEATURE_9.local_vars*/
  687.  
  688.  
  689. T2 r330arg_count(T330* C){
  690. T2 R=0;
  691. /*[IF*/
  692. if(((C)->_arguments/*36*/)!=((void*)(NULL))){
  693. R=/*(IRF4.6count*/(((T179*)(((T175*)((C)->_arguments/*36*/))->_flat_list/*8*/)))->_upper/*12*//*)*/;
  694. }
  695. /*FI]*/
  696. return R;
  697. }
  698.  
  699.  
  700. T0* r330clients(T330* C){
  701. T0* R=NULL;
  702. T0* _bfbc=NULL;
  703. T0* _bc=NULL;
  704. /*[IF*/
  705. if(((C)->_clients_memory/*8*/)==((void*)(NULL))){
  706. _bc=X46base_class((C)->_current_type/*4*/);
  707. _bfbc=/*X270base_class*/((T0*)((T273*)((C)->_base_feature/*32*/))->_base_class/*4*/);
  708. /*[IF*/
  709. if((_bc)==((void*)(_bfbc))){
  710. R=/*X270clients*/((T0*)((T273*)((C)->_base_feature/*32*/))->_clients/*16*/);
  711. }
  712. else{
  713. R=r22clients_for(((T22*)_bc),(C)->_name/*16*/);
  714. }
  715. /*FI]*/
  716. C->_clients_memory=R;
  717. }
  718. else{
  719. R=(C)->_clients_memory/*8*/;
  720. }
  721. /*FI]*/
  722. return R;
  723. }
  724.  
  725.  
  726. T6 r330is_exported_in(T330* C,T0* a1){
  727. T6 R=0;
  728. R=r94gives_permission_to((T94*)(r330clients(C)),a1);
  729. return R;
  730. }
  731. /*No:INTEGER_REF.item*/
  732.  
  733.